package com.example.lvsuo.service.impl;

import com.example.lvsuo.entity.HrWorkhistory;
import com.example.lvsuo.entity.SystemRole;
import com.example.lvsuo.entity.vo.HrEmpVo;
import com.example.lvsuo.modal.Result;
import com.example.lvsuo.service.IHrEmpService;
import com.example.lvsuo.entity.HrEmp;
import com.example.lvsuo.mapper.HrEmpMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import javafx.scene.control.Alert;
import org.apache.velocity.runtime.directive.Foreach;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author 心心念念
 * @since 2021-03-30
 */
@Service
@Transactional//事务
public class HrEmpServiceImpl extends ServiceImpl<HrEmpMapper, HrEmp> implements IHrEmpService {
    @Autowired
    HrEmpMapper hrEmpMapper;

    /**
     * 查询
     * @param hrEmpVo
     * @return
     */
    @Override
    public List<HrEmpVo> getHrEmp(HrEmpVo hrEmpVo) {
        return hrEmpMapper.getHrEmp(hrEmpVo);
    }

    /**
     * 删除
     * @param id
     */
    @Override
    public void deleteHrEmp(String id) {
        //根据id查当前员工状态
        List<HrEmp> Status = hrEmpMapper.getWorkByid(id);
        //循环查询表中每条数据
        for (HrEmp hr: Status){
            //判断在职状态是否可以删除
            if(hr.getEmpWorkstatus().equals("N")){
                //删除查询的状态=‘N’的id
                hrEmpMapper.deleteHrEmp(hr.getId());
            }
        }
    }

    /**
     * 修改
     * @param hrEmp
     */
    @Override
    public void updateHrEmp(HrEmp hrEmp) {
        hrEmpMapper.updateHrEmp(hrEmp);
    }

    /**
     * 添加
     * @param hrEmp
     */
    @Override
    public String insertHrEmp(HrEmp hrEmp) {
        System.out.println(hrEmp);
        //查询名字
        List<HrEmp> name = hrEmpMapper.getHrEmpByName(hrEmp.getEmpName());
        //根据id查找的姓名!=实体类中的姓名
        if (name.size()==0){
            save(hrEmp);
            return "ok";
        }
        return "nook";
    }

    @Override
    public List<HrEmp> queryhrEmpService() {
        return hrEmpMapper.queryhrEmpService();
    }
}
